package com.example.myapplication.kotlin

/*
单例类是一个全局唯一实例的类，特点：
● 整个应用生命周期只存在一个实例
● 提供全局访问点（通过类名直接访问）
● 线程安全（Kotlin 自动保证）
● 使用 object 关键字声明

扩展知识:鸿蒙中的单例类怎么实现的？
1. 创建单例类=> class 类名{ } // 不导出
2. 创建单例对象=> 只export导出实例化对象
*/

//【1.定义单例类】
object DBTool {
    fun connect() {
        println("连接数据库")
    }

    fun close() {
        println("关闭数据库")
    }
}

//【2.使用单例类】
fun main() {
    var tool1 = DBTool // 创建单例对象
    var tool2 = DBTool
    // 作用：判断两个对象是否相等,判断的是对象的引用是否相等
    println(tool1 === tool2)  // true因为都是基于单例对象创建的
    DBTool.connect() // 调用单例类方法
    DBTool.close()
}